package 结构型设计模式.装饰器模式.demo;

/**
 * 总结：装饰器模式做扩展的核心原理是继承，通过继承可以实现对原有类的扩展，
 * java中的继承原则，先初始化父类，再初始化子类，所以装饰器模式可以实现对原有类的扩展。 使用super关键字可以调用父类的方法。
 *
 * @Author lf
 * @Date 3/20/2024
 */
public class TestDemo {
    public static void main(String[] args) {
        Message message = new SimpleMessage("Hello World");
        Message exclamationDecorator = new ExclamationDecorator(new StarDecorator(message));

        // 装饰器模式追加*!
        System.out.println(exclamationDecorator.getContent());
    }
}
